def find_peak_element(nums):
    """
    问题：找到数组中任意一个峰值（峰值>左右相邻元素，边界元素只需大于一侧）
    思路：二分查找，利用峰值特性（若nums[mid]<nums[mid+1]，右侧必有峰值）
    """
    left, right = 0, len(nums) - 1
    while left < right:
        mid = (left + right) // 2
        # 右侧有更高元素，峰值在右侧
        if nums[mid] < nums[mid + 1]:
            left = mid + 1
        # 左侧有更高元素，峰值在左侧
        else:
            right = mid
    return left  # 循环结束时left=right，即为峰值索引

# 测试
print(find_peak_element([1,2,3,1]))    # 输出：2（元素3是峰值）
print(find_peak_element([1,2,1,3,5,6,4]))  # 输出：5（元素6是峰值）